package com.glory.dmegcpda.utils;

import com.tbruyelle.rxpermissions2.Permission;

import io.reactivex.functions.Consumer;


public abstract class BaseConsumerPermission implements Consumer<Permission> {
    @Override
    public void accept(Permission permission) throws Exception {
        if (permission.granted) {
            // 用户已经同意该权限
            OnSuccess();
        } else if (permission.shouldShowRequestPermissionRationale) {
            // 用户拒绝了该权限，没有选中『不再询问』（Never ask again）,那么下次再次启动时，还会提示请求权限的对话框
            OnFailed();
        } else {
            // 用户拒绝了该权限，并且选中『不再询问』
            OnFailedNotAsking();
        }
    }

    public abstract void OnSuccess();

    public abstract void OnFailed();

    public abstract void OnFailedNotAsking();
}
